import CountUI from "../../components/Count";
// import store from '../../redux/store'
// 引入connect用于连接UI与redux
import { connect } from 'react-redux';

import {
  createIncrementAction,
  createDecrementAction,
  createIncrementAsyncAction,
} from '../../redux/count_action';

// 把返回值作为状态传递给UI组件
// mapStateToProps 返回一个对象
// 返回的对象中的key就作为传递给UI组件的props的key，value就作为传递给UI组件props的value--状态
// mapStateToProps 用于传递状态

function mapStateToProps(state) {
  return { count: state, }
}

// 把返回值作为方法传递给UI组件
// mapDispatchToProps 返回一个对象
// 返回的对象中的key就作为传递给UI组件的props的key，value就作为传递给UI组件props的value--状态
// mapDispatchToProps 用于传递操作状态的方法
function mapDispatchToProps(dispatch) {
  return {
    increment: (data) => {
      dispatch(createIncrementAction(data));
    },
    decrement: (data) => {
      dispatch(createDecrementAction(data));
    },
    asyncIncrement: (data, time) => {
      dispatch(createIncrementAsyncAction(data, time));
    }
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(CountUI);